package com.itheima.test04;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.util.Scanner;

/*
## 题目4（加强训练）
需求：使用TCP协议实现客户端和服务端互相发送消息。
客户端发送一条消息，服务器读取之后，返回一条消息给客户端，客户端读取服务器返回的消息之后，又发送一条消息…循环执行，直到输入exit。
要求:
1. 消息内容通过键盘输入
2. 要求服务器端和客户端都使用字符流的方式发送和接收数据。
   使用BufffferedReader方法readLine()读取一行数据。
   使用BufffferedWriter方法write("字符串的数据")发送数据。
 */
public class TestTcpClient {
    public static void main(String[] args) throws IOException {

        Scanner scanner = new Scanner(System.in);

        while (true){
            Socket socket = new Socket("127.0.0.1", 10888);
            OutputStream outputStream = socket.getOutputStream();
            InputStream inputStream = socket.getInputStream();
            System.out.println("请输入需要发送给服务器的信息");
            String input = scanner.nextLine();



            outputStream.write(input.getBytes());

            if ("exit".equals(input)){
                socket.shutdownOutput();
                socket.close();
                break;
            }

            outputStream.flush();


            socket.shutdownOutput();

            int len;
            byte[] bytes = new byte[1024];
            while ((len = inputStream.read(bytes)) != -1){
                String s = new String(bytes, 0, len);
                System.out.println(s);
            }

            /*inputStream.close();
            outputStream.close();
            socket.close();*/

        }

    }
}
